module.exports = {
	root: true,
	extends: ['stylelint-config-standard'],
	plugins: ['stylelint-order', 'stylelint-prettier'],
	// customSyntax: 'postcss-html',
	overrides: [
		{
			files: ['**/*.(css|html|vue)'],
			customSyntax: 'postcss-html',
		},
		{
			files: ['*.less', '**/*.less'],
			customSyntax: 'postcss-less',
			extends: ['stylelint-config-standard', 'stylelint-config-recommended-vue'],
		},
		{
			files: ['*.scss', '**/*.scss'],
			customSyntax: 'postcss-scss',
			extends: ['stylelint-config-standard-scss', 'stylelint-config-recommended-vue/scss'],
			rule: {
				'scss/percent-placeholder-pattern': null,
			},
		},
	],
	rules: {
		'selector-not-notation': null,
		'import-notation': null,
		'function-no-unknown': null,
		'selector-class-pattern': null,
		'selector-pseudo-class-no-unknown': [
			true,
			{
				ignorePseudoClasses: ['global', 'deep'],
			},
		],
		'selector-pseudo-element-no-unknown': [
			true,
			{
				ignorePseudoElements: ['v-deep'],
			},
		],
		'at-rule-no-unknown': [
			true,
			{
				ignoreAtRules: ['tailwind', 'apply', 'variants', 'responsive', 'screen', 'function', 'if', 'each', 'include', 'mixin', 'extend'],
			},
		],
		'no-empty-source': null,
		'string-quotes': null,
		'named-grid-areas-no-invalid': null,
		'no-descending-specificity': null,
		'font-family-no-missing-generic-family-keyword': null,
		'rule-empty-line-before': [
			'always',
			{
				ignore: ['after-comment', 'first-nested'],
			},
		],
		'unit-no-unknown': [true, { ignoreUnits: ['rpx'] }],
		'order/order': [
			[
				'dollar-variables',
				'custom-properties',
				'at-rules',
				'declarations',
				{
					type: 'at-rule',
					name: 'supports',
				},
				{
					type: 'at-rule',
					name: 'media',
				},
				'rules',
			],
			{ severity: 'error' },
		],
	},
	ignoreFiles: ['**/*.js', '**/*.jsx', '**/*.tsx', '**/*.ts'],
};
